﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace Vit.SchemaExplorer
{
    public interface IDatabaseSchemaProvider
    {
        IEnumerable<ColumnSchemaInfo> GetColumnInfo();
        IEnumerable<ParameterSchemaInfo> GetParameterInfo();

        DbType ToDbType(string nativeType);
        Type ToSystemType(string nativeType, bool nullable);
        object ConvertValueType(string nativeType, object value);
        string BuildFullName(string shcema, string owner, string name);
        string BuildSafeName(string name);
        string BuildParameterName(string name);
        string BuildOriginalParameterName(string name);

        string DatabaseType { get; set; }
        string DatabaseVersion { get; set; }
    }
}
